/* Copyright 2018 The Chromium Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file. */

[hidden] {
  display: none !important;
}

:host {
  --hover-color: #f5f5f5;
  --input-alignment-indentation: 9px;
  --row-icon-height: 20px;
  --row-height: 24px;
  --text-active-color: #fff;
  --text-hover-color: #eee;
  --text-inactive-color: #f5f5f5;
}

/* layout */

.top {
  background-color: white;
  border: 1px solid var(--border-color);
  display: flex;
  padding: 5px 0;
}

.top-column {
  display: flex;
  flex-basis: 0;
  flex-direction: column;
  flex-grow: 1;
  overflow: hidden;
  padding: 0 15px;
}

input,
select {
  font-family: inherit;
  font-size: inherit;
}

:host {
  font-size: .75rem;
}

.row {
  margin-bottom: 3px;
  margin-top: 3px;
}

.section-header {
  color: gray;
  font-size: .625rem;
  margin-inline-start: var(--input-alignment-indentation);
}

.column-container {
  display: flex;
}

.column {
  display: flex;
  flex-direction: column;
}

/* :hover, :focus, & :active */

input[type=text],
select,
.checkbox-container,
.button {
  transition: background-color 300ms;
}

input[type=text]:hover,
input[type=number]:hover,
select:hover {
  background-color: var(--text-hover-color);
}

.checkbox-container:hover,
.button:hover {
  background-color: var(--hover-color);
}

input[type=text]:focus,
input[type=number]:focus,
select:focus,
.button:active {
  background-color: var(--text-active-color);
  border-color: var(--action-color);
  outline: none;
}

.button:active {
  transition: none;
}

/* text input */

input[type=text],
input[type=number],
select {
  background-color: var(--text-inactive-color);
  border: 2px solid var(--text-inactive-color);
  border-radius: 5px;
}

input[type=text],
input[type=number] {
  box-sizing: border-box;
  padding: 3px 7px;
}

input[type=text] {
  width: 100%;
}

input[type=text].input-icon-container {
  background-position: 5px center;
  background-repeat: no-repeat;
  background-size: var(--row-icon-height);
  padding-left: 30px;
}

/* text input arrow */

.arrow-container {
  --arrow-size: 5px;
  display: flex;
  margin-top: -5px;
}

input:focus + .arrow-container {
  visibility: hidden;
}

.arrow-padding {
  display: inline-block;
  height: 0;
  overflow: hidden;
  padding-left: 32px;
  visibility: hidden;
  white-space: pre;
}

.arrow-up {
  font-size: 12px;
  margin-left: -5px;
  vertical-align: top;
}

/* response-selection-container */

.response-selection-container,
.checkbox-container,
.button,
.warning-text {
  align-items: center;
  border-radius: 5px;
  display: inline-flex;
  min-height: var(--row-height);
  padding-inline-end: var(--input-alignment-indentation);
  padding-inline-start: var(--input-alignment-indentation);
  user-select: none;
}

.response-selection-container input {
  flex-grow: 1;
  margin-inline-end: 5px;
  margin-inline-start: 5px;
  max-width: 80px;
  min-width: 60px;
}

/* select */

select {
  cursor: pointer;
  height: var(--row-height);
  max-width: 250px;
  /* padded so that its text aligns with other elements */
  padding-inline-start: 3px;
  width: 100%;
}

/* stylized checkbox */

.checkbox-container,
.button {
  cursor: pointer;
}

input[type=checkbox] {
  margin-inline-start: 0;
}

/* button */

.button {
  color: var(--action-color);
}

/* warning text */

.warning-text {
  background-color: red;
  color: white;
}

/* icons */

.icon {
  background-position: -2px center;
  background-size: var(--row-icon-height);
  display: inline-block;
  height: var(--row-icon-height);
  margin-inline-end: 3px;
  width: var(--row-icon-height);
}

.search-icon {
  background-image: url(chrome://resources/images/icon_search.svg);
}

.reset-icon {
  background-image: url(chrome://resources/images/icon_refresh.svg);
}

.copy-icon {
  background-image: url(./icon_tabs.svg);
}

/* drag */

.drag-container * {
  pointer-events: none;
}

.drag-container input[type=file] {
  display: none;
}

.drag-container.drag-hover {
  background: lightblue;
}

.accesskey {
  text-decoration: underline;
}
